Simultaneous multithreading
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Le simultaneous multithreading (SMT) est une technique informatique datant des annΓ©es 1960. Il s'agit d'une forme de multithreading, une technique qui consiste, comme le symmetric multiprocessing (SMP), Γ augmenter le TLP (thread level parallelism), cβest-Γ -dire le parallΓ©lisme des threads.
Contents
β’ Description
β’ RΓ©fΓ©rences
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Description
Le SMT est le partage d'un cΕur de processeur superscalaire (les pipelines, les unitΓ©s de calcul et les caches) entre plusieurs threads. Les processeurs non SMT passent alternativement d'un thread Γ l'autre pour l'exΓ©cution des instructions, alors que des processeurs SMT peuvent allouer des unitΓ©s de calcul Γ des threads diffΓ©rents simultanΓ©ment. Le but est d'amΓ©liorer l'utilisation des ressources.
Si deux threads peuvent se partager les ressources, on parle de SMT Γ deux voies (comme pour l'Hyperthreading d'Intel), de SMT Γ 4 voies pour 4 threads (comme pour le DEC Alpha EV8).
Le POWER5 d'IBM intΓ¨gre un SMT deux voies complexe, puisqu'il peut attribuer des prioritΓ©s aux threads et activer/dΓ©sactiver le SMT de maniΓ¨re dynamique pour les cas oΓΉ la mΓ©thode n'augmente pas les performances. Le processeur multi-cΕur POWER7 intΓ¨gre un SMT quatre voies permettant de dΓ©sactiver un ou deux threads inactifs sur chaque cΕur afin d'augmenter les performances des threads actifscite-ref-1[1]. Le SMT8 est disponible sur POWER8 Γ partir de la version AIX 7.2cite-ref-2[2].
RΓ©fΓ©rences